/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.service;

import com.comac.ins.common.BaseResult;
import com.comac.ins.config.FeignConfiguration;
import com.comac.ins.vo.req.AddUserGroupReqVO;
import com.comac.ins.vo.res.EmployeeGroupFeignInfoVO;
import com.comac.ins.vo.res.UserGroupInfoResVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * @author Fan.tianpeng
 * @date 2021/5/8 14:28
 */
@Deprecated
@FeignClient(url = "${feign.userCenterUrl:}", value = "usercenter-service", contextId = "UserGroup", configuration = FeignConfiguration.class)
public interface UserGroupFeignService {

    /**
     * 获取用户组信息列表
     *
     * @return 用户组列表
     */
    @Deprecated
    @ApiOperation(value = "获取用户组信息列表")
    @RequestMapping(value = "feignApi/userCenter/userGroup/qryUserGroupList", method = RequestMethod.POST)
    BaseResult<List<UserGroupInfoResVO>> qryUserGroupList();

    /**
     * 获取用户组下的员工列表
     *
     * @param groupId 用户组标识
     * @return 员工列表
     */
    @Deprecated
    @ApiOperation(value = "获取用户组下的员工列表")
    @RequestMapping(value = "feignApi/userCenter/userGroup/qryEmployeeListByGroupId", method = RequestMethod.GET)
    BaseResult<List<EmployeeGroupFeignInfoVO>> qryEmployeeListByGroupId(@RequestParam("groupId") Long groupId);

    /**
     * 新增用户组
     *
     * @return 新增结果
     */
    @Deprecated
    @ApiOperation(value = "新增用户组")
    @RequestMapping(value = "feignApi/userCenter/userGroup/add", method = RequestMethod.POST)
    BaseResult<Long> add(@RequestBody AddUserGroupReqVO vo);

    /**
     * 通过用户组标识列表查询对应的用户组名称映射关系
     *
     * @param vo 用户组标识列表
     * @return 用户组映射关系
     */
    @Deprecated
    @ApiOperation(value = "通过用户组标识列表查询对应的用户组名称映射关系")
    @RequestMapping(value = "feignApi/userCenter/userGroup/qryUserGroupNameMap", method = RequestMethod.POST)
    BaseResult<Map<Long, String>> qryUserGroupNameMap(@RequestBody List<Long> vo);
}
